/*
 * JQuery plugin to handle move position to top 
*/
(function($){
   $.fn.goTop = function(options) {

      var defaults = {
            text: '返回顶部',
            min: 200,
            inDelay:600,
            outDelay:400,
            containerID: 'toTop',
            containerHoverID: 'toTopHover',
            anchor: 'main-wrapper',
            anchorPosition: 'right', // either left or right 
            scrollSpeed: 1200,
            easingType: 'linear'
           },
           settings = $.extend(defaults, options),
           containerIDhash = '#' + settings.containerID,
           containerHoverIDHash = '#'+settings.containerHoverID;
       
       $('body').append('<a href="#" id="'+settings.containerID+'">'+settings.text+'</a>');
       $(containerIDhash).hide().on('click.goTop',function(){
          $('html, body').animate({scrollTop:0}, settings.scrollSpeed, settings.easingType);
          $('#'+settings.containerHoverID, this).stop().animate({'opacity': 0 }, settings.inDelay, settings.easingType);
          return false;
       })
       .prepend('<span id="'+settings.containerHoverID+'"></span>')
       .hover(function() {
            $(containerHoverIDHash, this).stop().animate({
               'opacity': 1
            }, 600, 'linear');
          }, function() { 
            $(containerHoverIDHash, this).stop().animate({
               'opacity': 0
            }, 700, 'linear');
          });
               
       $(window).scroll(function() {
          var sd = $(window).scrollTop();
          if(typeof document.body.style.maxHeight === "undefined") {
            $(containerIDhash).css({
               'position': 'absolute',
               'top': sd + $(window).height() - 50
            });
          }
          if ( sd > settings.min ) 
            $(containerIDhash).fadeIn(settings.inDelay);
          else 
            $(containerIDhash).fadeOut(settings.Outdelay);
       });
   };
})(jQuery);
